package mathematics;
import java.math.BigInteger;

/**
 * 大整数计算演示
 * @author fidel
 */
public class BigIntegerDemo {
    public static void main(String[] args) {
        // 计算2的61次方的所有因数（预期结果：无）
        BigInteger value = BigInteger.TWO.pow(61).subtract(BigInteger.ONE);
        System.out.println(value);
        BigInteger i = BigInteger.ONE;
        BigInteger j;
        do {
            i = i.add(BigInteger.TWO);
            System.out.println(i);
            j = value.divide(i);
            if (i.multiply(j).equals(value)) {
                System.out.println(i + "*" + j);
            }
        } while (i.compareTo(j) != 1);
    }
}
